<template>
    <el-form ref="form" label-width="100px" :model="form" :inline="inline">
        <el-form-item v-for="item in formLabel" 
            :key="item.label" :label="item.label" 
            :prop="item.model">
            <el-input v-if="item.type === 'input'" :placeholder="'请输入' + item.label"
                v-model="form[item.model]">
            </el-input>
            <el-switch v-if="item.type === 'switch'" v-model="form[item.model]"></el-switch>
            <el-date-picker v-if="item.type === 'date'" type="date" value-format="yyyy-MM-dd"
                placeholder="选择日期" v-model="form[item.model]">
            </el-date-picker>
            <el-select
                v-if="item.type === 'select'" 
                placeholder="请选择" 
                v-model="form[item.model]">
                <el-option 
                    v-for="item in item.opts"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value">
                </el-option>
            </el-select>
        </el-form-item>
        <el-form-item>
            <slot><el-button @click="resetForm('form')" >重置</el-button></slot>
        </el-form-item>
    </el-form>
</template>

<script>
export default {
    name: 'ComponForm',
    props: {
        formLabel: Array,
        form: Object,
        inline: Boolean
    },
    data(){
        return {
            
        }
    },
    methods:{
        resetForm(formName) {
            this.$refs[formName].resetFields();
        }
    }
}
</script>

<style scoped>
.setMenu{
    margin-bottom: 20px;
    margin-right: 20px;
}
</style>